export interface IMedia {
    file: string;
    filename: string;
    id: string;
}
export interface IPaginateMeta {
    total: number;
    prev: number;
    next: number;
}

export interface PaginateReturn<T> {
    paginateMeta: IPaginateMeta;
    items: T[];
}
export interface IPagination {
    pageSize: number;
    pageNumber: number;
    category?: string;
}

export interface IGoodsFilter extends IPagination {
    name?: string;
    categories?: string;
}

export interface GoodCategory {
    id: string;
    name: string;
    key?: string;
}
export interface Good {
    key?: number;
    id: string;
    name: string;
    description: string;
    price: number;
    media?: IMedia;
    mediaIcon?: IMedia;
    oldPrice?: number;
    keywords?: string[];
    categories: GoodCategory[];
    link?: string;
}

export interface Comment {
    depth: number;
    id: string;
    body: string;
    createdAt: string;
    customOrder: number;
    children: Comment[];
}
export type Comments = Comment[];
